package com.gitee.mrj.aiboot.annotation.config.sf.ui.widget;

import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Inherited;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

@Inherited
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.FIELD})
@Documented
public @interface SFCheckboxWidget {


    /**
     * 指定每个选框单元格数量，参考[布局](https://ng.ant.design/components/checkbox/zh#components-checkbox-demo-layout)
     */
    int span() default Integer.MIN_VALUE;

    /**
     * radio的样式，默认：`default`
     */
    StyleType styleType() default StyleType.DEFAULT;

    /**
     * 是否需要全选
     */
    boolean checkAll() default true;

    /**
     * 全选按钮文本
     */
    String checkAllText() default "";


    public enum StyleType {
        DEFAULT("default"),
        BUTTON("button");

        private final String type;

        StyleType(String type) {
            this.type = type;
        }

        public String type() {
            return this.type;
        }
    }
}
